package com.mdd.admin.service;

import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.validate.TDeclarationMatchingCreateValidate;
import com.mdd.admin.validate.TDeclarationMatchingUpdateValidate;
import com.mdd.admin.validate.TDeclarationMatchingSearchValidate;
import com.mdd.admin.vo.TDeclarationMatchingListedVo;
import com.mdd.admin.vo.TDeclarationMatchingDetailVo;
import com.mdd.common.core.PageResult;

/**
 * 临时存项目政策的申报条件，公司哪些匹配或不匹配服务接口类
 * @author LikeAdmin
 */
public interface ITDeclarationMatchingService {

    /**
     * 临时存项目政策的申报条件，公司哪些匹配或不匹配列表
     *
     * @author LikeAdmin
     * @param pageValidate 分页参数
     * @param searchValidate 搜索参数
     * @return PageResult<TDeclarationMatchingListedVo>
     */
    PageResult<TDeclarationMatchingListedVo> list(PageValidate pageValidate, TDeclarationMatchingSearchValidate searchValidate);

    /**
     * 临时存项目政策的申报条件，公司哪些匹配或不匹配详情
     *
     * @author LikeAdmin
     * @param id 主键ID
     * @return TDeclarationMatchingDetailVo
     */
    TDeclarationMatchingDetailVo detail(Integer id);

    /**
     * 临时存项目政策的申报条件，公司哪些匹配或不匹配新增
     *
     * @author LikeAdmin
     * @param createValidate 参数
     */
    void add(TDeclarationMatchingCreateValidate createValidate);

    /**
     * 临时存项目政策的申报条件，公司哪些匹配或不匹配编辑
     *
     * @author LikeAdmin
     * @param updateValidate 参数
     */
    void edit(TDeclarationMatchingUpdateValidate updateValidate);

    /**
     * 临时存项目政策的申报条件，公司哪些匹配或不匹配删除
     *
     * @author LikeAdmin
     * @param id 主键ID
     */
    void del(Integer id);

}
